﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel.Channels;
using WcfContrib.Extensions.OutputControllers;

namespace WcfContrib.Extensions.Inspectors
{
    interface IOutputInspector
    {
        string BuildRequestMessageOutput(Message request, out object correlationState, out bool processMessage, out Dictionary<OutputArgument, object> outputState);

        string BuildReplyMessageOutput(Message reply, object correlationState, out bool processMessage, out Dictionary<OutputArgument, object> outputState);

        IEnumerable<IOutputController> Controllers { get; set; }
    }
}
